The structured query language (SQL) is an American National Standards Institute (ANSI) standard used to communicate with a relational database. SQL is the standard language for relational database management systems. SQL statements are used to perform tasks such as update data or retrieve data from a relational database. Although many database systems use SQL, many of them also have their own additional proprietary extensions that are usually only used on their system. However, the standard SQL commands such as “Select”, “Insert”, “Update”, “Delete”, “Create”, and “Drop” can be used to accomplish many things that one desires to do with a relational database.
Relational databases are generally structured as tables containing rows and columns. The data entries for any row and column intersection, or cells, normally conform to a set of data constraints that are used to define the data types allowed in the cells. One historical problem with such data entries is the lack of definition for large and complex objects which may be desired to be placed in a database. Constraints on the SQL data types utilized generally limit the kinds of data that can be entered into a relational database such as SQL. A large object, if placed into a SQL database, could slow down database processing or utilize system resources such as memory and processing time to accommodate one or more bulky and complex objects.
Scripting queries and utilizing objects in a relational database such as SQL can be both time consuming and expertise intensive. The author of such script must understand the dependencies of the new and complex object in relation to other objects in order to properly instantiate the object along with appropriate metadata onto the target relational database. This scripting expertise may be beyond the experience of the average user who wishes to utilize his relational database for tracking and searching of complex objects related to his business, for example. Alternately, system managers may use scripting to assist in the maintenance of relational databases. This scripting activity takes time and care to prepare and run. Auto generation of script for relational databases concerning complex objects currently cannot be easily accomplished.
Thus, there is a need for a unifying representation for objects desired to be referenced and acted upon in a SQL database. Additionally, there is a need for a mechanism to generate script to facilitate the deployment of objects into relational databases such as SQL for both application and system maintenance work. The invention addresses the aforementioned needs and solves them with various systems, methods and techniques that create complex dependency trees and lists and modify these to generate script without requiring intricate knowledge of the relational database metadata structures.